算数扩张(Arithmetic Expansion)。通过使用反引号,双括号和let命令可以将字符串转换为数字表达式。

使用反引号

通常和expr结合使用:

z=`expr $z + 3`

使用双括号((...))$((...))

双括号中的变量引用符号$可以省略。

z=$(($z+3))
# 等同于
z=$((z+3)) 
((n=$n+1))
# 等同于
((n=n+1))
# 等同于
((n+=1))    # 但(($n+=1))会报错

使用let命令

let命令中的变量引用符号$可以省略。使用引号允许在let表达式中使用空格符号:

let z=z+3
let "z = z + 3"

当麻的小红箱
71 声望11 粉丝

spec!